package app.scraper.textyard.model;

public class Book {

	private String authors;

	private String fullClassName;

	private String name;

	private String required;

	private String iSBN;

	private String edition;

	private String publisher;

	private String bookstorePrice;

	private String lowestPrice;

	public Book(final Builder builder) {
		iSBN = builder.iSBN;
		fullClassName = builder.fullClassName;
		authors = builder.authors;
		name = builder.name;
		required = builder.required;
		edition = builder.edition;
		publisher = builder.publisher;
		bookstorePrice = builder.bookstorePrice;
		lowestPrice = builder.lowestPrice;
	}
	
	public String getAuthors() {
		return authors;
	}

	public void setAuthors(final String authors) {
		this.authors = authors;
	}

	public String getFullClassName() {
		return fullClassName;
	}

	public void setFullClassName(final String fullClassName) {
		this.fullClassName = fullClassName;
	}

	public String getName() {
		return name;
	}

	public String getRequired() {
		return required;
	}

	public String getISBN() {
		return iSBN;
	}

	public String getEdition() {
		return edition;
	}

	public String getPublisher() {
		return publisher;
	}

	public String getBookstorePrice() {
		return bookstorePrice;
	}

	public String getLowestPrice() {
		return lowestPrice;
	}

	public static class Builder {
		private String fullClassName;

		private String required = "-";
		private String iSBN = "n/a";
		private String authors = "n/a";
		private String name = "n/a";
		private String edition = "n/a";
		private String publisher = "n/a";
		private String bookstorePrice = "n/a";
		private String lowestPrice = "n/a";

		public Builder(final String fullClassName) {
			this.fullClassName = fullClassName;
		}

		public Builder required(final String val) {
			required = val;
			return this;
		}

		public Builder iSBN(final String val) {
			iSBN = val;
			return this;
		}

		public Builder authors(final String val) {
			authors = val;
			return this;
		}

		public Builder name(final String val) {
			name = val;
			return this;
		}

		public Builder edition(final String val) {
			edition = val;
			return this;
		}

		public Builder publisher(final String val) {
			publisher = val;
			return this;
		}

		public Builder bookstorePrice(final String val) {
			bookstorePrice = val;
			return this;
		}

		public Builder lowestPrice(final String val) {
			lowestPrice = val;
			return this;
		}

		public Book build() {
			return new Book(this);
		}
	}

}
